<?php
/**
 * author:申俊(alex)
 * date:2009-02-28
 * function:代替PHP自带的错误处理功能
 */
#
function error_contral($errno, $errstr, $errfile, $errline){
    echo pakeage_error($errno, $errstr, $errfile, $errline);
    return true;
}
#自动发送邮件给config文件中设置好的人。
function auto_set_error($errno, $errstr, $errfile, $errline){
	$msg=pakeage_error($errno, $errstr, $errfile, $errline);
}
#组装错误成语句
function pakeage_error($errno, $errstr, $errfile, $errline){
	$msg='';
	switch ($errno) {
    case E_USER_ERROR:
			$msg.= "<b>致命错误</b> [$errno] $errstr<br />\n";
			$msg.= "  致命错误在[$errfile]文件中的第[$errline]行！";
			$msg.= "  PHP版本 " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
			$msg.= "程序中止...<br />\n";
			exit(1);
			break;
    case E_USER_WARNING:
      $msg.= "<b>警告错误</b> <br />\n";
      $msg.= "  警告错误在[$errfile]文件中的第[$errline]行！";
			$msg.= "  PHP版本 " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
      break;

    case E_USER_NOTICE:
      $msg.= "<b>通知</b><br />\n";
      $msg.= "  警告错误在[$errfile]文件中的第[$errline]行！";
			$msg.= "  PHP版本 " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
      break;
      
    default:
      $msg.= "未知的错误类型: [$errno]文件中的'[$errfile]'第[$errline]行有错误，错误信息为：$errstr<br />\n";
      break;
    }
    return $msg;
}
?>